package com.ctshk.rpc.hotel.dto.booking;

import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @description 酒店产品
 * @author 谢诗宏
 * @date 2021/4/20
 */
@Data
@ApiModel(description="酒店产品")
public class HotelBookingProductDTO implements Serializable {

    private static final long serialVersionUID = 9054949432727110530L;

    @ApiModelProperty(value = "产品id")
    private Long id;

    @ApiModelProperty(value = "床型", example = "120*200cm大床")
    private String bedType;

    @ApiModelProperty(value = "产品名称", example = "溫泉A套餐")
    private String name;

    @ApiModelProperty(value = "是否含早", example = "含早餐")
    private String hasBreakfast;

    @ApiModelProperty(value = "可住人数", example = "2人")
    private String maxAdult;

    @ApiModelProperty(value = "适用人群", example = "本港人士")
    private String targetPopulation;

    @ApiModelProperty(value = "供应商", example = "供應商A")
    private String supplierName;

    @ApiModelProperty(value = "取消(1=限时取消,2=不退不改)", example = "二次确认")
    private String allowRefund;

    @ApiModelProperty(value = "确认(1=立即确认,2=二次确认)", example = "二次确认")
    private String isSecCheck;

    @JsonIgnore
    @ApiModelProperty(value = "剩余房间数", example = "10", hidden = true)
    private String roomNum;

    @ApiModelProperty(value = "余票库存", example = "20")
    private Integer stock;

    @ApiModelProperty(value = "房价", example = "999.98")
    private BigDecimal taxation;

    @ApiModelProperty(value = "房价", example = "999.98")
    private BigDecimal price;

    @ApiModelProperty(value = "预订须知")
    private String customerNotice;


    @JsonIgnore
    @ApiModelProperty(value = "用户最大可售数量", hidden = true)
    private Integer saleableNumber;
    @JsonIgnore
    @ApiModelProperty(value = "成本库存", hidden = true)
    private Integer costStock;
    @JsonIgnore
    @ApiModelProperty(value = "剩余库存", hidden = true)
    private Integer remainStock;
    @JsonIgnore
    @ApiModelProperty(value = "用户剩余可售数", hidden = true)
    private Integer remainSaleableNumber;

    @ApiModelProperty(value = "当前成本币种id")
    private Long costCurrencyId;

    @ApiModelProperty(value = "当前币种名称")
    private String costCurrencyName;

    @ApiModelProperty(value = "当前币种汇率")
    private Double costExchangeRate;

}
